ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãããããã»ã¹ç®¡çã®äžæ žæŠå¿µïŒããã»ã¹ã®ç¶æ ãã¹ã±ãžã¥ãŒãªã³ã°ã¢ã«ãŽãªãºã ãããã»ã¹ééä¿¡ããããããã¯åŠçïŒã解説ãéçºè ãã·ã¹ãã 管çè ã«å¿ é ã®å 容ã§ãã
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒããã»ã¹ç®¡çã®å æ¬çã¬ã€ã
ããã»ã¹ç®¡çã¯ãçŸä»£ã®ãããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®åºæ¬çãªåŽé¢ã§ããããã»ã¹ã®å®è¡ã管çãããªãœãŒã¹ãå²ãåœãŠãã¹ã ãŒãºãªãã«ãã¿ã¹ã¯ãä¿èšŒãã圹å²ãæ ããŸãããã®ã¬ã€ãã§ã¯ãããã»ã¹ç®¡çã®æŠå¿µãæè¡ã課é¡ã«ã€ããŠè©³çŽ°ãªæŠèŠãæäŸããŸããåŠçãéçºè ãã·ã¹ãã 管çè ããããŠãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ä»çµã¿ãçè§£ããããã¹ãŠã®äººã察象ãšããŠããŸãã
ããã»ã¹ãšã¯äœãïŒ
ãã®æ žå¿ã«ãããŠãããã»ã¹ãšã¯å®è¡äžã®ããã°ã©ã ã®ã€ã³ã¹ã¿ã³ã¹ã§ããããã¯åãªãããã°ã©ã ã®ã³ãŒã以äžã®ãã®ã§ãããããã°ã©ã ã«ãŠã³ã¿ãã¬ãžã¹ã¿ã倿°ã®çŸåšã®å€ãå«ã¿ãŸããåããã»ã¹ã¯ç¬èªã®ã¡ã¢ãªç©ºéãæã¡ãããã«ããä»ã®ããã»ã¹ãšçŽæ¥å¹²æžããã®ãé²ãã§ããŸãã
ããã°ã©ã ãã¬ã·ããããã»ã¹ãå®éã«æçãäœãè¡çºãšèããŠã¿ãŠãã ãããåãããã°ã©ã ãå®è¡ããè€æ°ã®ããã»ã¹ïŒäŸïŒããã¹ããšãã£ã¿ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ïŒãåæã«æã€ããšãã§ãããããããç¬èªã®ããŒã¿ãšç¶æ ãæã¡ãŸãã
ããã»ã¹ã®äž»èŠãªæ§æèŠçŽ ïŒ
- ããã°ã©ã ã³ãŒãïŒããã¹ãã»ã¯ã·ã§ã³ïŒïŒå®è¡ãããåœä»€ã
- ããŒã¿ã»ã¯ã·ã§ã³ïŒã°ããŒãã«å€æ°ãšåçã«å²ãåœãŠãããã¡ã¢ãªã
- ã¹ã¿ãã¯ïŒé¢æ°åŒã³åºããããŒã«ã«å€æ°ããªã¿ãŒã³ã¢ãã¬ã¹ã«äœ¿çšã
- ããŒãïŒå®è¡æã«åçã«å²ãåœãŠãããã¡ã¢ãªã
- ããã»ã¹å¶åŸ¡ãããã¯ïŒPCBïŒïŒåããã»ã¹ã«å¯ŸããŠOSãç¶æããããŒã¿æ§é ã§ãããã»ã¹IDãç¶æ ãããã°ã©ã ã«ãŠã³ã¿ãã¬ãžã¹ã¿å€ãªã©ã®æ å ±ãå«ãã
ããã»ã¹ã®ç¶æ
ããã»ã¹ã¯ããã®ã©ã€ããµã€ã¯ã«äžã«ããŸããŸãªç¶æ ãçµãŸãããããã®ç¶æ ãçè§£ããããšã¯ãããã»ã¹ç®¡çãçè§£ããäžã§éåžžã«éèŠã§ãã
- æ°èŠïŒNewïŒïŒããã»ã¹ãçæãããŠããç¶æ ã
- å®è¡å¯èœïŒReadyïŒïŒããã»ããµãžã®å²ãåœãŠãåŸ ã£ãŠããç¶æ ã
- å®è¡äžïŒRunningïŒïŒåœä»€ãå®è¡ãããŠããç¶æ ã
- åŸ æ©ïŒBlockedïŒïŒäœããã®ã€ãã³ãïŒäŸïŒI/Oã®å®äºãã·ã°ãã«ã®åä¿¡ïŒãçºçããã®ãåŸ ã£ãŠããç¶æ ã
- çµäºïŒTerminatedïŒïŒããã»ã¹ã®å®è¡ãå®äºããç¶æ ã
ãããã®ç¶æ ã¯ããã»ã¹ã®ã©ã€ããµã€ã¯ã«ã衚ããOSã¯ãããã®éã®é·ç§»ã管çãã責任ããããŸãã äŸãã°ãããã»ã¹ããã£ã¹ã¯ããããŒã¿ãèªã¿åãå¿ èŠãããå Žåãå®è¡äžç¶æ ããåŸ æ©ç¶æ ã«é·ç§»ããI/Oæäœãå®äºãããŸã§åŸ ã¡ãŸãããã®åŸãå®è¡å¯èœç¶æ ã«æ»ããåã³å®è¡ãããçªãåŸ ã¡ãŸãã
ããã»ã¹å¶åŸ¡ãããã¯ïŒPCBïŒ
PCBã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããã»ã¹ã管çããããã«å¿ èŠãªãã¹ãŠã®æ å ±ãå«ãããŒã¿æ§é ã§ããããã¯ããã»ã¹ã®å±¥æŽæžã®ãããªãã®ã§ãOSãããã»ã¹ã远跡ããããã«ç¥ãå¿ èŠããããã¹ãŠãä¿æããŠããŸãã
PCBã®å žåçãªå 容ïŒ
- ããã»ã¹IDïŒPIDïŒïŒããã»ã¹ã®äžæãªèå¥åã
- ããã»ã¹ã®ç¶æ ïŒããã»ã¹ã®çŸåšã®ç¶æ ïŒäŸïŒå®è¡å¯èœãå®è¡äžãåŸ æ©ïŒã
- ããã°ã©ã ã«ãŠã³ã¿ïŒPCïŒïŒæ¬¡ã«å®è¡ãããåœä»€ã®ã¢ãã¬ã¹ã
- CPUã¬ãžã¹ã¿ïŒCPUã¬ãžã¹ã¿ã®å 容ïŒã¢ãã¥ã ã¬ãŒã¿ãã€ã³ããã¯ã¹ã¬ãžã¹ã¿ãã¹ã¿ãã¯ãã€ã³ã¿ãæ±çšã¬ãžã¹ã¿ãããã³ä»»æã®ç¶æ ã³ãŒãæ å ±ïŒã
- ã¡ã¢ãªç®¡çæ å ±ïŒããã»ã¹ã«å²ãåœãŠãããã¡ã¢ãªã«é¢ããæ å ±ïŒããŒã¹ã¬ãžã¹ã¿ããªãããã¬ãžã¹ã¿ãããŒãžããŒãã«ãã»ã°ã¡ã³ãããŒãã«ãªã©ïŒã
- ã¢ã«ãŠã³ãã£ã³ã°æ å ±ïŒäœ¿çšãããCPUæéãæéå¶éãã¢ã«ãŠã³ãçªå·ã䜿çšã¡ã¢ãªéãªã©ã
- I/Oã¹ããŒã¿ã¹æ å ±ïŒããã»ã¹ã«å²ãåœãŠãããI/Oããã€ã¹ããªãŒãã³ããŠãããã¡ã€ã«ã®ãªã¹ããªã©ã
ããã»ã¹ã¹ã±ãžã¥ãŒãªã³ã°
ããã»ã¹ã¹ã±ãžã¥ãŒãªã³ã°ãšã¯ãå®è¡å¯èœãã¥ãŒå ã®ã©ã®ããã»ã¹ã«CPUãå²ãåœãŠãã¹ãããæ±ºå®ããæŽ»åã§ããã¹ã±ãžã¥ãŒãªã³ã°ã®ç®æšã¯ãCPU䜿çšçã®æå€§åãã¿ãŒã³ã¢ã©ãŠã³ãã¿ã€ã ã®æå°åãããã»ã¹éã®å ¬å¹³æ§ã®ç¢ºä¿ãªã©ãç¹å®ã®åºæºã«åŸã£ãŠã·ã¹ãã æ§èœãæé©åããããšã§ãã
ã¹ã±ãžã¥ãŒãªã³ã°ãã¥ãŒ
OSã¯ãã¥ãŒã䜿çšããŠããã»ã¹ã管çããŸãã äžè¬çãªãã¥ãŒã«ã¯ä»¥äžã®ãã®ããããŸãïŒ
- ãžã§ããã¥ãŒïŒã·ã¹ãã å ã®ãã¹ãŠã®ããã»ã¹ãå«ãã
- å®è¡å¯èœãã¥ãŒïŒReady queueïŒïŒå®è¡æºåãã§ããŠãããCPUãåŸ ã£ãŠãããã¹ãŠã®ããã»ã¹ãå«ãã
- ããã€ã¹ãã¥ãŒïŒåI/Oããã€ã¹ããšã«1ã€ãã€ããããã®ããã€ã¹ãåŸ ã£ãŠããããã»ã¹ãå«ããã¥ãŒã®ã»ããã
ã¹ã±ãžã¥ãŒã©
ã¹ã±ãžã¥ãŒã©ã¯ã次ã«å®è¡ããããã»ã¹ãéžæããã·ã¹ãã ãœãããŠã§ã¢ã¢ãžã¥ãŒã«ã§ããäž»ã«2çš®é¡ã®ã¹ã±ãžã¥ãŒã©ããããŸãïŒ
- é·æã¹ã±ãžã¥ãŒã©ïŒãžã§ãã¹ã±ãžã¥ãŒã©ïŒïŒãžã§ããã¥ãŒããããã»ã¹ãéžæããå®è¡ã®ããã«ã¡ã¢ãªã«ããŒãããŸããå€éããã°ã©ãã³ã°ã®åºŠåãïŒã¡ã¢ãªå ã®ããã»ã¹æ°ïŒãå¶åŸ¡ããŸãã çæã¹ã±ãžã¥ãŒã©ãããå®è¡é »åºŠã¯äœãã§ãã
- çæã¹ã±ãžã¥ãŒã©ïŒCPUã¹ã±ãžã¥ãŒã©ïŒïŒå®è¡å¯èœãã¥ãŒããããã»ã¹ãéžæããCPUãå²ãåœãŠãŸããéåžžã«é »ç¹ã«å®è¡ããããããé«éã§ãªããã°ãªããŸããã
äžéšã®ã·ã¹ãã ã«ã¯ãäžæã¹ã±ãžã¥ãŒã©ãååšããŸããããã¯å€éããã°ã©ãã³ã°ã®åºŠåããæžããããã«ãããã»ã¹ãã¡ã¢ãªããïŒãã£ã¹ã¯ãžïŒã¹ã¯ããã¢ãŠãããåã³ã¹ã¯ããã€ã³ããŸãã ããã¯ã¹ã¯ããã³ã°ãšãåŒã°ããŸãã
ã¹ã±ãžã¥ãŒãªã³ã°ã¢ã«ãŽãªãºã
æ°å€ãã®ã¹ã±ãžã¥ãŒãªã³ã°ã¢ã«ãŽãªãºã ãååšããããããã«é·æãšçæããããŸããã¢ã«ãŽãªãºã ã®éžæã¯ãã·ã¹ãã ã®ç¹å®ã®ç®æšã«äŸåããŸãã以äžã«äžè¬çãªã¢ã«ãŽãªãºã ãããã€ã玹ä»ããŸãïŒ
- å çé ïŒFCFSïŒïŒããã»ã¹ã¯å°çããé ã«å®è¡ãããŸããå®è£ ã¯ç°¡åã§ãããé·ãããã»ã¹ãå ã«å°çãããšãçãããã»ã¹ã®åŸ ã¡æéãé·ããªãå¯èœæ§ããããŸãïŒã³ã³ãã€å¹æïŒã
- æçãžã§ããã¡ãŒã¹ãïŒSJFïŒïŒå®è¡æéãæãçãããã»ã¹ãæåã«å®è¡ãããŸããå¹³ååŸ ã¡æéãæå°åããç¹ã§æé©ã§ãããäºåã«å®è¡æéãç¥ãå¿ èŠããããããã¯å€ãã®å Žåäžå¯èœã§ãã
- åªå 床ã¹ã±ãžã¥ãŒãªã³ã°ïŒåããã»ã¹ã«åªå 床ãå²ãåœãŠãããæãåªå 床ã®é«ãããã»ã¹ãæåã«å®è¡ãããŸããåªå 床ã®äœãããã»ã¹ãåžžã«åªå 床ã®é«ãããã»ã¹ã«ãã£ãŠããªãšã³ããããããšã飢é€ç¶æ ïŒã¹ã¿ããŒã·ã§ã³ïŒã«é¥ãå¯èœæ§ããããŸãã
- ã©ãŠã³ãããã³ïŒRRïŒïŒåããã»ã¹ã«åºå®ã®æéã¹ã©ã€ã¹ïŒã¯ã©ã³ã¿ã ïŒãäžããããŠå®è¡ãããŸããæéã¹ã©ã€ã¹å ã«å®äºããªãå Žåãããã»ã¹ã¯å®è¡å¯èœãã¥ãŒã®æ«å°Ÿã«ç§»åãããŸããå ¬å¹³ã§é£¢é€ç¶æ ãé²ããŸãããã³ã³ããã¹ãã¹ã€ããã®ãªãŒããŒããããå¹çãäœäžãããå¯èœæ§ããããŸãã
- 倿®µãã¥ãŒïŒMultilevel QueueïŒã¹ã±ãžã¥ãŒãªã³ã°ïŒå®è¡å¯èœãã¥ãŒãè€æ°ã®ãã¥ãŒã«åå²ããåãã¥ãŒã«ç¬èªã®ã¹ã±ãžã¥ãŒãªã³ã°ã¢ã«ãŽãªãºã ãæãããŸããããã»ã¹ã¯ãã®ç¹æ§ïŒäŸïŒå¯Ÿè©±åããããåŠçãïŒã«åºã¥ããŠãã¥ãŒã«å²ãåœãŠãããŸãã
- 倿®µãã£ãŒãããã¯ãã¥ãŒïŒMultilevel Feedback QueueïŒã¹ã±ãžã¥ãŒãªã³ã°ïŒããã»ã¹ã¯ç°ãªããã¥ãŒéãç§»åã§ããŸããããã«ãããã¹ã±ãžã¥ãŒã©ã¯ããã»ã¹ã®æ¯ãèãã«åºã¥ããŠåçã«åªå 床ã調æŽã§ããŸãã
äŸïŒããŒã¹ãæéïŒå®è¡æéïŒããããã24ã3ã3ããªç§ã®3ã€ã®ããã»ã¹P1ãP2ãP3ãèããŸãã ããããããP1ãP2ãP3ã®é ã§å°çããå ŽåãFCFSã¹ã±ãžã¥ãŒãªã³ã°ã§ã¯P1ãæåã«å®è¡ãããæ¬¡ã«P2ããããŠP3ãå®è¡ãããŸãã å¹³ååŸ ã¡æé㯠(0 + 24 + 27) / 3 = 17ããªç§ã«ãªããŸãã ããããããSJFã䜿çšããå Žåãããã»ã¹ã¯P2ãP3ãP1ã®é ã§å®è¡ãããå¹³ååŸ ã¡æé㯠(0 + 3 + 6) / 3 = 3ããªç§ãšãªããå€§å¹ ãªæ¹åãèŠãããŸãïŒ
ããã»ã¹ééä¿¡ïŒIPCïŒ
ããã»ã¹ééä¿¡ïŒIPCïŒã¯ãããã»ã¹ãäºãã«éä¿¡ããåæããããšãå¯èœã«ããŸããããã¯ãè€æ°ã®ããã»ã¹ãå調ããŠåäœããè€éãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«äžå¯æ¬ ã§ãã
äžè¬çãªIPCã¡ã«ããºã ïŒ
- å ±æã¡ã¢ãªïŒããã»ã¹ãã¡ã¢ãªé åãå ±æããããŒã¿ãçŽæ¥ã¢ã¯ã»ã¹ããã³å€æŽã§ããŸããç«¶åç¶æ ãé¿ããããã«æ éãªåæãå¿ èŠã§ãã
- ã¡ãã»ãŒãžããã·ã³ã°ïŒããã»ã¹ã¯äºãã«ã¡ãã»ãŒãžãéä¿¡ããããšã§éä¿¡ããŸããå ±æã¡ã¢ãªãããåªããåé¢ãæäŸããŸãããé床ãé ããªãå¯èœæ§ããããŸãã
- ãã€ãïŒ2ã€ã®ããã»ã¹éã®åæ¹åéä¿¡ãã£ãã«ãéåžžãé¢é£ããããã»ã¹ïŒäŸïŒèŠªåããã»ã¹ïŒéã®éä¿¡ã«äœ¿çšãããŸãã
- ååä»ããã€ãïŒFIFOïŒïŒãã€ãã«äŒŒãŠããŸãããé¢é£ã®ãªãããã»ã¹éã®éä¿¡ã«ã䜿çšã§ããŸãã
- ã¡ãã»ãŒãžãã¥ãŒïŒããã»ã¹ã¯ãã¥ãŒãšã®éã§ã¡ãã»ãŒãžãéåä¿¡ã§ããŸããéåæéä¿¡ãæäŸããŸãã
- ãœã±ããïŒåäžãã·ã³äžãŸãã¯ãããã¯ãŒã¯ãä»ããããã»ã¹ééä¿¡ã®ããã®å€ç®çãªã¡ã«ããºã ãã¯ã©ã€ã¢ã³ããµãŒããŒã¢ããªã±ãŒã·ã§ã³ã忣ã·ã¹ãã ã§äœ¿çšãããŸãã
- ã·ã°ãã«ïŒã€ãã³ãïŒäŸïŒçµäºèŠæ±ããšã©ãŒç¶æ ïŒãããã»ã¹ã«éç¥ããããã«éä¿¡ã§ãããœãããŠã§ã¢å²ã蟌ã¿ã
äŸïŒWebãµãŒããŒã¯ãè€æ°ã®ããã»ã¹ã䜿çšããŠåä¿¡ãªã¯ãšã¹ãã䞊è¡ããŠåŠçããããšããããŸãã åããã»ã¹ãåäžã®ãªã¯ãšã¹ããåŠçããããã»ã¹éã¯å ±æã¡ã¢ãªãã¡ãã»ãŒãžããã·ã³ã°ã䜿çšããŠãµãŒããŒã®ç¶æ ã«é¢ããããŒã¿ãå ±æã§ããŸãã
åæ
è€æ°ã®ããã»ã¹ãå ±æãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããå ŽåãããŒã¿ã®ç Žæãç«¶åç¶æ ãé²ãããã«åæã確ä¿ããããšãéåžžã«éèŠã§ããåæã¡ã«ããºã ã¯ãããã»ã¹ã®å®è¡ã調æŽããå ±æããŒã¿ãä¿è·ããæ¹æ³ãæäŸããŸãã
äžè¬çãªåææè¡ïŒ
- ãã¥ãŒããã¯ã¹ããã¯ïŒã³ãŒãã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ãä¿è·ããããã«äœ¿çšã§ãããã€ããªã»ããã©ãäžåºŠã«1ã€ã®ããã»ã¹ãããã¥ãŒããã¯ã¹ããã¯ãä¿æã§ããŸããã
- ã»ããã©ïŒãã¥ãŒããã¯ã¹ããã¯ãäžè¬åãããã®ã§ãéãããæ°ã®ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãå¶åŸ¡ããããã«äœ¿çšã§ããŸãã
- ã¢ãã¿ïŒå ±æããŒã¿ãšããã«å¯ŸããŠå®è¡ã§ããæäœãã«ãã»ã«åãã髿°Žæºã®åææ§æèŠçŽ ãçžäºæé€ãšãåŸ æ©ããã³ã·ã°ãã«çšã®æ¡ä»¶å€æ°ãæäŸããŸãã
- æ¡ä»¶å€æ°ïŒã¢ãã¿å ã§äœ¿çšãããããã»ã¹ãç¹å®ã®æ¡ä»¶ãçã«ãªãã®ãåŸ ã€ããšãå¯èœã«ããŸãã
- ã¹ãã³ããã¯ïŒããã»ã¹ãããã¯ãå©çšå¯èœã«ãªããŸã§ç¹°ãè¿ããã§ãã¯ããã¿ã€ãã®ããã¯ãçãã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã«ã¯å¹ççã§ãããããã¯ãé·æéä¿æãããå Žåã¯CPUæéãæµªè²»ããŸãã
äŸïŒè€æ°ã®ããã»ã¹ã«ãã£ãŠã€ã³ã¯ãªã¡ã³ããããå ±æã«ãŠã³ã¿ãèããŠã¿ãŸããããåæããªããã°ãè€æ°ã®ããã»ã¹ãã«ãŠã³ã¿ã®å€ãèªã¿åããã€ã³ã¯ãªã¡ã³ãããŠæžãæ»ãå¯èœæ§ãããã誀ã£ãçµæã«ã€ãªãããŸãããã¥ãŒããã¯ã¹ããã¯ã䜿çšããŠã€ã³ã¯ãªã¡ã³ãæäœãä¿è·ããããšã§ãäžåºŠã«1ã€ã®ããã»ã¹ããã«ãŠã³ã¿ã«ã¢ã¯ã»ã¹ã§ããªããªããç«¶åç¶æ ãé²ããŸãã
ãããããã¯
ãããããã¯ã¯ã2ã€ä»¥äžã®ããã»ã¹ãããããããä»ã®ããã»ã¹ã«ãã£ãŠä¿æãããŠãããªãœãŒã¹ãåŸ ã£ãŠãç¡æéã«ãããã¯ãããå Žåã«çºçããŸãã ããã¯ã·ã¹ãã ã忢ãããå¯èœæ§ã®ããæ·±å»ãªåé¡ã§ãã
ãããããã¯ã®æ¡ä»¶ïŒ
ãããããã¯ãçºçããããã«ã¯ã4ã€ã®æ¡ä»¶ïŒã³ããã³ã®æ¡ä»¶ïŒãåæã«æºããããå¿ èŠããããŸãïŒ
- çžäºæé€ïŒå°ãªããšã1ã€ã®ãªãœãŒã¹ãéå ±æã¢ãŒãã§ä¿æãããŠããå¿ èŠããããŸããã€ãŸããäžåºŠã«1ã€ã®ããã»ã¹ãããªãœãŒã¹ã䜿çšã§ããŸããã
- ä¿æãšåŸ æ©ïŒããã»ã¹ãå°ãªããšã1ã€ã®ãªãœãŒã¹ãä¿æããªãããçŸåšä»ã®ããã»ã¹ã«ãã£ãŠä¿æãããŠãã远å ã®ãªãœãŒã¹ã®ååŸãåŸ æ©ããŠããå¿ èŠããããŸãã
- éããªãšã³ãã·ã§ã³ïŒãªãœãŒã¹ãããã»ã¹ãã匷å¶çã«å¥ªãããšã¯ã§ããŸããããªãœãŒã¹ã¯ããããä¿æããŠããããã»ã¹ã«ãã£ãŠèªçºçã«ã®ã¿è§£æŸãããŸãã
- 埪ç°åŸ ã¡ïŒåŸ æ©ããŠããããã»ã¹ã®éå {P0, P1, ..., Pn} ãååšããP0ãP1ã®ä¿æãããªãœãŒã¹ãåŸ ã¡ãP1ãP2ã®ä¿æãããªãœãŒã¹ãåŸ ã¡ã...ãPn-1ãPnã®ä¿æãããªãœãŒã¹ãåŸ ã¡ãPnãP0ã®ä¿æãããªãœãŒã¹ãåŸ ã£ãŠããå¿ èŠããããŸãã
ãããããã¯ã®å¯ŸåŠæ³ïŒ
ãããããã¯ã«å¯ŸåŠããã«ã¯ãããã€ãã®ã¢ãããŒãããããŸãïŒ
- ãããããã¯ã®é²æ¢ïŒã³ããã³ã®æ¡ä»¶ã®å°ãªããšã1ã€ãæç«ããªãããã«ããŸããäŸãã°ãããã»ã¹ã«ãã¹ãŠã®ãªãœãŒã¹ãäžåºŠã«èŠæ±ãããããŸãã¯ãªãœãŒã¹ã®ããªãšã³ãã·ã§ã³ãèš±å¯ãããªã©ã§ãã
- ãããããã¯ã®åé¿ïŒãªãœãŒã¹å²ãåœãŠã«é¢ããæ å ±ã䜿çšããŠããããããã¯ç¶æ ã«é¥ãã®ãåé¿ããŸãã éè¡å®¶ã®ã¢ã«ãŽãªãºã ãäžè¬çãªäŸã§ãã
- ãããããã¯ã®æ€åºãšå埩ïŒãããããã¯ã®çºçãèš±å¯ãããããæ€åºããŠããå埩ããŸãã å埩ã«ã¯ãããã»ã¹ã®çµäºããªãœãŒã¹ã®ããªãšã³ãã·ã§ã³ãå«ãŸããããšããããŸãã
- ãããããã¯ã®ç¡èŠïŒåé¡ãç¡èŠããçºçããªãããšãæåŸ ããŸããããã¯ãWindowsãLinuxãå«ãã»ãšãã©ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãæ¡çšããŠããã¢ãããŒãã§ãããªããªãããããããã¯ã®é²æ¢ãšåé¿ã¯ã³ã¹ãããããå¯èœæ§ãããããã§ãã
äŸïŒ2ã€ã®ããã»ã¹P1ãšP2ãããã³2ã€ã®ãªãœãŒã¹R1ãšR2ãèããŸããP1ã¯R1ãä¿æããŠR2ãåŸ ã£ãŠãããP2ã¯R2ãä¿æããŠR1ãåŸ ã£ãŠããŸããããã«ãã埪ç°åŸ ã¡ãçºçãããããããã¯ã«è³ããŸãã ãã®ãããããã¯ãé²ãäžã€ã®æ¹æ³ã¯ãããã»ã¹ã«å®è¡ãéå§ããåã«ãã¹ãŠã®ãªãœãŒã¹ãäžåºŠã«èŠæ±ãããããšã§ãã
å®äžçã®äŸ
ããã»ã¹ç®¡çã®æŠå¿µã¯ãäžçäžã®ããŸããŸãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§äœ¿çšãããŠããŸãïŒ
- LinuxïŒãã¹ãŠã®ããã»ã¹ã«å ¬å¹³ãªCPUå²ãåœãŠãæäŸããããšãç®æããCompletely Fair Scheduler (CFS) ãšåŒã°ããé«åºŠãªã¹ã±ãžã¥ãŒãªã³ã°ã¢ã«ãŽãªãºã ã䜿çšããŠããŸãã
- WindowsïŒè€æ°ã®åªå 床ã¬ãã«ãæã€ãåªå 床ããŒã¹ã®ã¹ã±ãžã¥ãŒãªã³ã°ã¢ã«ãŽãªãºã ãæ¡çšããŠããŸãã
- macOSïŒåªå 床ããŒã¹ã®ã¹ã±ãžã¥ãŒãªã³ã°ãšã¿ã€ã ã¹ã©ã€ã·ã³ã°ãçµã¿åããããã€ããªããã¢ãããŒãã䜿çšããŠããŸãã
- AndroidïŒLinuxã«ãŒãã«äžã«æ§ç¯ãããŠãããã¢ãã€ã«ããã€ã¹åãã«æé©åãããåæ§ã®ããã»ã¹ç®¡çæè¡ã䜿çšããŠããŸãã
- ãªã¢ã«ã¿ã€ã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒRTOSïŒïŒçµã¿èŸŒã¿ã·ã¹ãã ãã¯ãªãã£ã«ã«ãªã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããã¿ã¹ã¯ã®ã¿ã€ã ãªãŒãªå®è¡ãä¿èšŒããç¹æ®ãªã¹ã±ãžã¥ãŒãªã³ã°ã¢ã«ãŽãªãºã ããã°ãã°æ¡çšããŸããäŸãšããŠVxWorksãFreeRTOSããããŸãã
çµè«
ããã»ã¹ç®¡çã¯ããã«ãã¿ã¹ã¯ããªãœãŒã¹å ±æãå¹ççãªã·ã¹ãã å©çšãå¯èœã«ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®éèŠãªåŽé¢ã§ãããã®ã¬ã€ãã§èª¬æããæŠå¿µãçè§£ããããšã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãæ±ã人ãã¢ããªã±ãŒã·ã§ã³ãéçºãã人ããŸãã¯ã·ã¹ãã ã管çãã人ã«ãšã£ãŠäžå¯æ¬ ã§ãã ããã»ã¹ã®ç¶æ ãã¹ã±ãžã¥ãŒãªã³ã°ã¢ã«ãŽãªãºã ãããã»ã¹ééä¿¡ãããã³ãããããã¯ã®å¯ŸåŠæ³ãç¿åŸããããšã§ãããå ç¢ã§å¹ççããã€ä¿¡é Œæ§ã®é«ããœãããŠã§ã¢ã·ã¹ãã ãæ§ç¯ã§ããŸããç°ãªãã¢ãããŒãéã®ãã¬ãŒããªããèæ ®ããç¹å®ã®ããŒãºã«æãåã£ãæè¡ãéžæããããšãå¿ããªãã§ãã ããã
ãããªãåŠç¿ã®ããã«
ããã»ã¹ç®¡çã®çè§£ãæ·±ããããã«ã以äžã®ãªãœãŒã¹ãæ¢çŽ¢ããããšããå§ãããŸãïŒ
- Operating System Concepts by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne
- Modern Operating Systems by Andrew S. Tanenbaum
- CourseraãedXãUdacityãªã©ã®ãã©ãããã©ãŒã ã§æäŸãããŠãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«é¢ãããªã³ã©ã€ã³ã³ãŒã¹ããã¥ãŒããªã¢ã«ã
- ã䜿ãã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããã¥ã¡ã³ãïŒäŸïŒLinuxã®manããŒãžãWindows APIããã¥ã¡ã³ãïŒã